﻿<?php

/**
 * Created by JetBrains PhpStorm.
 * User: ncduc
 * Date: 6/4/13
 * Time: 5:23 PM
 * To change this template use File | Settings | File Templates.
 */
session_start();

include_once("libs/setup.php");
include_once("libs/helper.php");
if (isset($_REQUEST["submit"])) {
  
    SmartyValidate::connect($smarty);
    if (!SmartyValidate::is_valid($_POST)) {
        $smarty->assign($_POST);
        $smarty->assign('is_display_error', 'block');
        $smarty->display('register.tpl');
    } else {

// generates a 22 character long random string
        function unique_salt() {

            return substr(md5(mt_rand()), 0, 22);
        }

        $email = addslashes($_REQUEST["email"]);
        $password = addslashes($_REQUEST["pwd"]);
        $repeat_password = addslashes($_REQUEST["repwd"]);
        $ho_ten = addslashes($_REQUEST["hoten"]);
        $mysqli = connect_database($smarty);
        $query = "select * from `user` where `Email`='{$email}'";
        $result = $mysqli->query($query);
        if ($result) {
            if ($result->num_rows > 0) {
                $smarty->assign('title', 'Lỗi đăng ký');
                $smarty->assign('message', 'Email này đã được đăng ký.');
                $smarty->assign('message_class', 'error');
                $smarty->display('notification.tpl');
            } else {
                $unique_salt = unique_salt();
                $hash = md5($unique_salt . $password);
                $activationKey = md5(mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand());
                $email = addslashes($email);
                $ho_ten = addslashes($ho_ten);
                $time = $now = date('Y-m-d H:i:s', time() );
                $sql = "insert into `user`(`Email`,`Role`,`Password`,`PassSalt`,`HoTen`,`KichHoat`,`ActivationCode`,`ThoiDiemDK`) values('{$email}','user','{$hash}' ,'{$unique_salt}','{$ho_ten}',0,'{$activationKey}','{$time}' )";


                $result = $mysqli->query($sql);
                if ($result) {
                    $id = mysqli_insert_id($mysqli);
                    $sql = "insert into thong_tin_ca_nhan (MaUser,HoTen) values({$id},'{$ho_ten}');
                  insert into thong_tin_them (MaUser) values ({$id});
                  insert into hoat_dong_nghien_cuu (MaUser) values ({$id});
                  insert into hoat_dong_xa_hoi (MaUser) values ({$id});";
                    $result = $mysqli->multi_query($sql);
                    if ($result) {
                        while ($mysqli->next_result());
//Send email with activation code
                        SmartyValidate::disconnect();
                        $message = "Chào mừng đến với website của chúng tôi\r\r Bạn hoặc ai đó đã dùng email của bạn và hoàn thành việc đăng ký tại vinastemcelllab.com. Bạn có thể hoàn tất việc đăng ký này bằng cách click vào đường dẫn sau http://vinastemcelllab.com/oms/activateaccount.php?$activationKey\r\rNếu đây là một sự nhầm lần, xin hãy bỏ qua email này và bạn sẽ bị xóa khỏi danh sách email của chúng tôi. \r\rXin cảm ơn.\r\r Phòng thí nghiệm Nghiên cứu và Ứng dụng Tế bào gốc\r\r\rWelcome to our website!\r\rYou, or someone using your email address, has completed registration at YOURWEBSITE.com. You can complete registration by clicking the following link:\r http://vinastemcelllab.com/oms/activateaccount.php?$activationKey\r\rIf this is an error, ignore this email and you will be removed from our mailing list.\r\rRegards,\r\r VinaStemCell Lab";

                        $arr_email = array(array($email, $ho_ten));
                        if (!send_mail("OMS Registration", $arr_email, $message)) {
                            echo "Mailer Error: ";
                        } else {

                            $smarty->assign('title', 'Đăng ký thành công');
                            $smarty->assign('message', 'Chúc mừng bạn đã đăng ký tài khoản thành công. Một email với yêu cầu kích hoạt đã được gửi đến bạn.');
                            $smarty->assign('message_class', 'success');
                            $smarty->display('notification.tpl');
                        }
                    }
                }
            }
        }
        if ($mysqli->error) {

            system_failed($mysqli->error, $smarty);
            return;
        }
    }
} else {
    SmartyValidate::connect($smarty, true);
    SmartyValidate::register_validator('email_required', 'email', 'notEmpty');
    SmartyValidate::register_validator('email_valid', 'email', 'isEmail');
    SmartyValidate::register_validator('password_required', 'pwd', 'notEmpty');
    SmartyValidate::register_validator('password_valid', 'pwd', 'notEmpty');
    SmartyValidate::register_validator('confirm_password', 'repwd:pwd', 'isEqual');
    SmartyValidate::register_validator('fullname_required', 'hoten', 'notEmpty');
    SmartyValidate::register_validator('fullname_maxlength', 'hoten:-1:50', 'isLength');
    SmartyValidate::register_validator('captcha_valid', 'captcha', 'isValidCaptcha');
    $smarty->display('register.tpl');
}
